package org.self.service;

import io.jsonwebtoken.Claims;
import javax.servlet.http.HttpServletRequest;

/**
 * @author: liYU
 * @projectName: WX_Self_Iot_parent
 * @title: IJwtService
 * @description: 这个接口的主要功能就是实现我们的token数据的解析
 * @date: 2025/3/29
 */
public interface IJwtService {

    /**
     * 根据token获取用户id
     *
     * @param token
     * @return
     */
    String getId(String token);

    /**
     * 根据token获取用户名
     *
     * @param token
     * @return
     */
    String getUsername(String token);

    /**
     * 根据请求获取token
     *
     * @param req
     * @param keyName
     * @return
     */
    String getToken(HttpServletRequest req, String keyName);

    /**
     * 根据token获取body信息
     * @param token
     * @return
     */
    Claims getClaimsJwsBody(String token);
}
